﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using SoftHotel.Models;

namespace SoftHotel.Controllers
{
    public class PromocionController : Controller
    {
        //
        // GET: /Promocion/

        PromocionDAO promoDAO = new PromocionDAO();
        DetallePromocionDAO detalleDAO = new DetallePromocionDAO();
        private SedeDAO sedeDao = new SedeDAO();

        public ActionResult Index()
        {
            List<Promocion> promociones = new List<Promocion>();
            promociones = promoDAO.ejecutar_query();
            Response.AddHeader("Refresh", "30");
            return View(promociones);
            
        }

        //
        // GET: /Promocion/Details/5

        public ActionResult Details(int id)
        {
            Promocion promo = new Promocion();
            promo = promoDAO.consultar_promo(id);
            
            
            return View(promo);
        }


        [HttpGet]
        public ActionResult _vistaParcial(int id)
        {
            List<DetallePromocion> detPromo = new List<DetallePromocion>();
            detPromo = detalleDAO.ejecutar_query(id);
            return PartialView("_detalleIndex", detPromo);
        }




        //
        // GET: /Promocion/Create

        public ActionResult Create()
        {
            ViewBag.sedes = new SelectList(sedeDao.sedes, "idSede", "nombre");
           
            Promocion promo = new Promocion();
            return View(promo);
        } 

        //
        // POST: /Promocion/Create

        [HttpPost]
        public ActionResult Create(Promocion promo)
        {
            //try
            //{
                // TODO: Add insert logic here
            switch (promo.nomTipo)
            {
                case "0": promo.tipo = 0; break;
                case "1": promo.tipo = 1; break;
                case "2": promo.tipo = 2; break;
                

            }
            promo.descuento = Convert.ToDecimal(promo.porcentaje) / 100;
                promoDAO.add_promo(promo);
                return RedirectToAction("Index");
            //}
            //catch
            //{
            //    return View();
            //}
        }
        
        //
        // GET: /Promocion/Edit/5
 
        public ActionResult Edit(int id)
        {
            ViewBag.sedes = new SelectList(sedeDao.sedes, "idSede", "nombre");
            Promocion promo = new Promocion();
            promo = promoDAO.consultar_promo(id);
            return View(promo);
        }

        //
        // POST: /Promocion/Edit/5

        [HttpPost]
        public ActionResult Edit(int id, Promocion promo)
        {
            //try
            //{
                // TODO: Add update logic here

            switch (promo.nomEstado)
            {
                case "0": promo.estado = 0; break;
                case "1": promo.estado = 1; break;
                case "2": promo.estado = 2; break;
                case "3": promo.estado = 3; break;
              
            }
            promo.descuento = Convert.ToDecimal(promo.porcentaje) / 100;
                promoDAO.editar_promo(id, promo);
                return RedirectToAction("Index");
            //}
            //catch
            //{
            //    return View();
            //}
        }

        //
        // GET: /Promocion/Delete/5
 
        public ActionResult Delete(int id)
        {
            return View();
        }

        //
        // POST: /Promocion/Delete/5

        [HttpPost]
        public ActionResult Delete(int id, FormCollection collection)
        {
            try
            {
                // TODO: Add delete logic here
 
                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }
    }
}
